package com.sg.dto.biz.bff.res;

import com.sg.dto.biz.bff.common.BffCopywritingDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc BffQueryTargetSpectacularCycleInfoDetailRespDto
 * @使用场景
 */
@Data
public class BffQueryTargetSpectacularCycleInfoDetailRespDto
        implements Serializable {

    /**
     * 周期ID
     */
    @ApiModelProperty("周期ID")
    private String cycleId;

    /**
     * 周期名称
     */
    @ApiModelProperty("周期名称")
    private String cycleStandardName;

    /**
     * 更新周期周期类型
     */
    @ApiModelProperty("更新周期周期类型")
    private String updateCycleTypeCode;

    /**
     * 被评对象目标周期ID
     */
    @ApiModelProperty("被评对象目标周期ID")
    private String evaObjTargetCycleId;

    /**
     * 父子中周期类型 PARENT_CYCLE:父周期 MID_CYCLE:中期 SUB_CYCLE:子周期 PROCESS_CYCLE:过程周期
     */
    @ApiModelProperty("父子中周期类型")
    private String parentSubMidCycleType;

    /**
     * 冗余评价主题ID
     */
    @ApiModelProperty("冗余评价主题ID")
    private String evaluationSubjectId;

    /**
     * 是否有过程周期 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否有过程周期")
    private String isHaveProcessCycle;

    /**
     * 标志性成果大屏展示版本 ACHIVE_MINI_VERSION:标志性成果mini版 ACHIVE_BASIC_VERSION:标志性成果基础版 ACHIVE_ADVANCED_VERSION:标志性成果高级版
     */
    @ApiModelProperty("标志性成果大屏展示版本")
    private String milestoneAchievementsDisplayVersion;

    /**
     * 标志性成果内容展示类型 DISPLAY_ONE_TARGET_CATE:一级目标分类 DISPLAY_CATE_TREE:目标分类树
     */
    @ApiModelProperty("标志性成果内容展示类型")
    private String achievementsConDisplayedType;

    /**
     * 完成率算法类型 LOW_TARGET_CONTENT_STATIC:统计向下目标内容 ROOT_OBJECTIVE_STATIC:统计一级指标 LAST_OBJECTIVE_STATIC:统计末级指标
     */
    @ApiModelProperty("完成率算法类型")
    private String completionRateAlgorithmType;

    /**
     * 是否开启主管人工审核 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启主管人工审核")
    private String isOpenAudit;

    /**
     * 是否开启主观评价 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启主观评价")
    private String isSubjectiveScoring;

    /**
     * 是否开启预算 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启预算")
    private String isOpenBudget;

    /**
     * 预算大屏展示版本 BUDGET_MINI_VERSION:预算mini版 BUDGET_BASIC_VERSION:预算基础版 BUDGET_ADVANCED_VERSION:预算高级版
     */
    @ApiModelProperty("预算大屏展示版本")
    private String budgetDisplayVersion;

    /**
     * 预算金额展示类型 DISPLAY_ONE_TARGET_CATE:一级目标分类 DISPLAY_CATE_TREE:目标分类树
     */
    @ApiModelProperty("预算金额展示类型")
    private String budgetDisplayType;

    /**
     * 是否开启资金使用率图表 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启资金使用率图表")
    private String isOpenCapitalUtilizationRate;

    /**
     * 部门汇报任务数算法类型
     */
    @ApiModelProperty("部门汇报任务数算法类型")
    private String deptReportTaskAlgorithmType;

    /**
     * 高层导出规划数据开关
     */
    @ApiModelProperty("高层导出规划数据开关")
    private String highPlanningDataExport;

    /**
     * 高层导出汇报数据开关
     */
    @ApiModelProperty("高层导出汇报数据开关")
    private String highReportDataExport;

    /**
     * 指标展示与导出数据层级
     */
    @ApiModelProperty("指标展示与导出数据层级")
    private String objectiveDisplayAndExportData;

    @ApiModelProperty("文案列表")
    private List<BffCopywritingDto> copywritingList = new ArrayList<>();

}
